//利用系统调用实现love.txt的备份,在控制台输出

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>


int main(int argc, char const *argv[])
{
    //打开读文件流
    int fd = open("./love.txt",O_RDONLY);
    if(fd == -1){
        printf("打开读文件失败\n");
        return -1;
    }

    //打开写文件流
    int fd2 = open("./love2.txt", O_CREAT|O_WRONLY|O_APPEND, 0644);
    if(fd2 == -1){
        printf("打开写文件失败\n");
        return -1;
    }
    //边读边写,同时将读取的内容输出到控制台

    char data_buf[100];
    int read_len;
    while ((read_len = read(fd , data_buf , sizeof(data_buf))) > 0)
    {
        //将读取的内容写道love2.txt
        write(fd2 , data_buf , read_len);
        //将读取的内容输出到控制台
        write(STDOUT_FILENO , data_buf , read_len);
    }
    //关闭读文件流和写文件流
    close(fd);
    close(fd2);


    return 0;
}
